home *** CD-ROM | disk | FTP | other *** search
/ Champak 26 (Anniversary Edition) / Volume 26 [Anniversary Edition] - JOGO DISK .iso / DEPOSITO / REmovido / Puzzle / yeti.swf / scripts / __Packages / CMoveBall.as < prev    next >
Text File  |  2006-06-07  |  2KB  |  72 lines

  1. class CMoveBall extends CBall
  2. {
  3.    function CMoveBall()
  4.    {
  5.       super();
  6.       this.hide();
  7.    }
  8.    function startMove(x, y, vx_, vy_)
  9.    {
  10.       var _loc1_ = this;
  11.       _loc1_._x = _loc1_.sX = x;
  12.       _loc1_._y = _loc1_.sY = y;
  13.       _loc1_.vx = vx_;
  14.       _loc1_.vy = vy_;
  15.       _loc1_.curR = 0;
  16.       _loc1_.calcEndPoint();
  17.       _loc1_.show();
  18.    }
  19.    function doStep(step)
  20.    {
  21.       var _loc1_ = this;
  22.       _loc1_.curR += step;
  23.       if(_loc1_.curR >= _loc1_.commonR)
  24.       {
  25.          _loc1_.sX = _loc1_.eX;
  26.          _loc1_.sY = _loc1_.eY;
  27.          _loc1_.curR = 0;
  28.          _loc1_.vx = - _loc1_.vx;
  29.          _loc1_.calcEndPoint();
  30.       }
  31.       _loc1_._x = _loc1_.sX + _loc1_.curR * _loc1_.vx;
  32.       _loc1_._y = _loc1_.sY + _loc1_.curR * _loc1_.vy;
  33.    }
  34.    function calcEndPoint()
  35.    {
  36.       var _loc1_ = this;
  37.       var _loc3_ = undefined;
  38.       var _loc2_ = undefined;
  39.       var C;
  40.       var d;
  41.       _loc1_.sX -= _loc1_.mc_grid._x;
  42.       _loc1_.sY -= _loc1_.mc_grid._y;
  43.       _loc1_.eX = _loc1_.sX + 1000 * _loc1_.vx;
  44.       _loc1_.eY = _loc1_.sY + 1000 * _loc1_.vy;
  45.       _loc3_ = _loc1_.sY - _loc1_.eY;
  46.       _loc2_ = _loc1_.eX - _loc1_.sX;
  47.       C = _loc1_.sX * (_loc1_.eY - _loc1_.sY) - _loc1_.sY * (_loc1_.eX - _loc1_.sX);
  48.       d = Math.sqrt(_loc3_ * _loc3_ + _loc2_ * _loc2_);
  49.       _loc3_ /= d;
  50.       _loc2_ /= d;
  51.       C /= d;
  52.       var p = _loc1_.mc_grid.getBoundsIntersection(_loc1_.vx,_loc1_.vy,_loc3_,_loc2_,C);
  53.       _loc1_.eX = p.x;
  54.       _loc1_.eY = p.y;
  55.       _loc1_.commonR = Math.sqrt((_loc1_.eX - _loc1_.sX) * (_loc1_.eX - _loc1_.sX) + (_loc1_.eY - _loc1_.sY) * (_loc1_.eY - _loc1_.sY));
  56.       _loc1_.sX += _loc1_.mc_grid._x;
  57.       _loc1_.sY += _loc1_.mc_grid._y;
  58.       _loc1_.eX += _loc1_.mc_grid._x;
  59.       _loc1_.eY += _loc1_.mc_grid._y;
  60.    }
  61.    function show()
  62.    {
  63.       this._visible = true;
  64.       this.state = 1;
  65.    }
  66.    function hide()
  67.    {
  68.       this._visible = false;
  69.       this.state = 0;
  70.    }
  71. }
  72.